import { RoleNumerical, RoleTiles } from "@/constants";
import { Role } from "./role";
import type { PositionType, RoleProperty } from "@/typings/constants";

// 队长
export class MetalsCaptain extends Role {
  positionY: number = 2;
  constructor(
    property: RoleProperty = RoleNumerical[RoleTiles.METALS_CAPTAIN],
    position?: PositionType
  ) {
    super(RoleTiles.METALS_CAPTAIN, property, position);
  }
}

export class SkeletonCaptain extends Role {
  positionY: number = 2;
  constructor(
    property: RoleProperty = RoleNumerical[RoleTiles.SKELETON_CAPTAIN],
    position?: PositionType
  ) {
    super(RoleTiles.SKELETON_CAPTAIN, property, position);
  }
}

export class UnderworldCaptain extends Role {
  positionY: number = 1;
  constructor(
    property: RoleProperty = RoleNumerical[RoleTiles.UNDERWORLD_CAPTAIN],
    position?: PositionType
  ) {
    super(RoleTiles.UNDERWORLD_CAPTAIN, property, position);
  }
}

export class KnightCaptain extends Role {
  positionY: number = 2;
  constructor(
    property: RoleProperty = RoleNumerical[RoleTiles.KNIGHT_CAPTAIN],
    position?: PositionType
  ) {
    super(RoleTiles.KNIGHT_CAPTAIN, property, position);
  }
}
